c[]="china"错误?不能把一个字符串直接赋给一个字符数组?前者不是等于c[6]="china"?

来源:百度知道 编辑:UC知道 时间:2024/06/18 10:53:58

变量声明时的初始化允许:
char c[]="china"; // 正确

语句里写 c[]="china"; // 错误

语句里要这样做:
char c[6];
strcpy(c,"china"); // 语句里要用函数
printf("%s",c);

是错的。
不能将字符串直接赋给数组。
c[6]是数组c的一个元素,它能存储一个字符。
定义了字符数组后,数组名是数组第一个元素的地址,是一个地址常量。c[]中[]是运算符,c[]没有运算对象,写法也是错的。
不知作案你满不满意?

char* s = "china";

你这种写法是错误得,c[6]="china"是把这个字符存在这个地址上是不符合要求的它能存储一个字符。
char*s="china";写法是对的!

你这样就可以了char c[]="china"; 初始化时可以的。c都定义好了,要一个一个赋值的。